# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your MultiworldGG options are valid at this site:
#        https://multiworld.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default DOOM 1993 (Beta) Template

game: DOOM 1993 (Beta)
requires:
  version: 0.7.259 # Version of MWGG required for this yaml to work as expected.
  game:
    DOOM 1993 (Beta): 2.0.20260629 # Version of the world required for this yaml to work as expected.

DOOM 1993 (Beta):
  ################
  # Game Options #
  ################
  allow_collecting_from:
    # If other players are allowed to '!collect' items from your world.
    'false': 0
    'true': 50

  ####################
  # Episodes to Play #
  ####################
  episode1:
    # Knee-Deep in the Dead.
    # 
    # This episode includes the following levels:
    # 
    # - Hangar (E1M1)
    # - Nuclear Plant (E1M2)
    # - Toxin Refinery (E1M3)
    # - Command Control (E1M4)
    # - Phobos Lab (E1M5)
    # - Central Processing (E1M6)
    # - Computer Station (E1M7)
    # - Phobos Anomaly (E1M8)
    # - Military Base (E1M9)
    'false': 0
    'true': 50

  episode2:
    # The Shores of Hell.
    # 
    # This episode includes the following levels:
    # 
    # - Deimos Anomaly (E2M1)
    # - Containment Area (E2M2)
    # - Refinery (E2M3)
    # - Deimos Lab (E2M4)
    # - Command Center (E2M5)
    # - Halls of the Damned (E2M6)
    # - Spawning Vats (E2M7)
    # - Tower of Babel (E2M8)
    # - Fortress of Mystery (E2M9)
    'false': 0
    'true': 50

  episode3:
    # Inferno.
    # 
    # This episode includes the following levels:
    # 
    # - Hell Keep (E3M1)
    # - Slough of Despair (E3M2)
    # - Pandemonium (E3M3)
    # - House of Pain (E3M4)
    # - Unholy Cathedral (E3M5)
    # - Mt. Erebus (E3M6)
    # - Limbo (E3M7)
    # - Dis (E3M8)
    # - Warrens (E3M9)
    'false': 0
    'true': 50

  episode4:
    # Thy Flesh Consumed.
    # 
    # This episode includes the following levels:
    # 
    # - Hell Beneath (E4M1)
    # - Perfect Hatred (E4M2)
    # - Sever the Wicked (E4M3)
    # - Unruly Evil (E4M4)
    # - They Will Repent (E4M5)
    # - Against Thee Wickedly (E4M6)
    # - And Hell Followed (E4M7)
    # - Unto the Cruel (E4M8)
    # - Fear (E4M9)
    'false': 50
    'true': 0

  ################
  # Goal Options #
  ################
  goal:
    # Choose the goal of the game.
    # 
    # - **Complete All Levels**: Complete every level to win.
    # - **Complete Some Levels**: Complete some number of total levels to win.
    # - **Complete Random Levels**: Complete a set of randomly chosen levels to win.
    # - **Complete Specific Levels**: Complete a specific set of levels to win.
    # - **Complete Some And Specific Levels**: Complete some number of total levels, as well as specifically chosen ones, to win.
    complete_all_levels: 50
    complete_some_levels: 0
    complete_random_levels: 0
    complete_specific_levels: 0
    complete_some_and_specific_levels: 0

  goal_num_levels:
    # If the goal is 'Complete Some Levels', 'Complete Random Levels', or 'Complete Some And Specific Levels',
    # this is how many levels must be completed.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 36
    36: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-36: 0 # random value between 1 and 36

  goal_specific_levels:
    # If the goal is 'Complete Specific Levels', or 'Complete Some And Specific Levels',
    # all levels chosen here must be completed.
    ['Tower of Babel (E2M8)', 'Dis (E3M8)', 'Phobos Anomaly (E1M8)', 'Unto the Cruel (E4M8)']

  ######################
  # Difficulty Options #
  ######################
  difficulty:
    # Choose the game difficulty (skill level).
    # 
    # - **Baby**: (I'm too young to die.) - Damage taken is halved. Ammo received from pickups is doubled.
    # - **Easy**: (Hey, not too rough.) - Lesser number or strength of monsters, and more pickups.
    # - **Medium**: (Hurt me plenty.) - The default skill. Balanced monsters and pickups.
    # - **Hard**: (Ultra-Violence.) - Greater number or strength of monsters, and less pickups.
    # - **Nightmare**: (Nightmare!) - Monsters are faster, more aggressive, and respawn.
    baby: 0
    easy: 0
    medium: 50
    hard: 0
    nightmare: 0

  trick_difficulty:
    # Choose which tricks, if any, can be logically expected.
    # 
    # - **None**: Assumes vanilla progression through levels.
    # - **Basic**: Some minor unintended strategies may be required.
    # - **Pro**: More advanced speedrunning strategies like wallruns, SR40/SR50 straferunning, and exploiting the Z axis may be required.
    # - **Extreme**: If it's feasible in real time, it's in logic. Includes tricks that require enabling vertical mouse movement, tricks that punish failure with death, or out-of-bounds movement.
    none: 50
    basic: 0
    pro: 0
    extreme: 0

  allow_death_logic:
    # Allow or disallow death logic locations and tricks.
    # 
    # Some locations can only be attempted once, and can become unreachable if the player fails to get them. Once this has happened, the player must die or otherwise reset the level to attempt to reach the location again.
    # If death logic is disabled, these locations will never contain any progression items.
    # 
    # On higher trick difficulty settings, this setting may also enable some tricks that put the player in a position where they are stuck and must die/reset the map afterwards.
    'false': 50
    'true': 0

  reset_level_on_death:
    # If enabled, when the player dies, the level is reset, respawning all pickups and monsters.
    # 
    # Turning this setting off is considered easy mode. Good for new players that don't know the levels well.
    # Note that regardless of this setting, your inventory and checks made are never lost on death.
    'false': 0
    'true': 50

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  energy_link:
    # Enables using the server's EnergyLink pool to obtain powerups.
    # 
    # When enabled, items sent to you that would have no mechanical effect are instead converted into energy.
    # You can then spend that energy at any later time to refill your ammo or give yourself powerups.
    # 
    # Optionally, you can set this option to an arbitrary string.
    # This will restict your EnergyLink pool to only other players that use the same string.
    'false': 0
    'true': 50

  ######################
  # Randomizer Options #
  ######################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  random_monsters:
    # Choose how monsters are randomized.
    # 
    # - **Off**: Monsters are left unchanged.
    # - **Shuffle**: Monsters in the level are shuffled around.
    # - **Same Type**: Each "small" monster in the level is replaced with a different "small" monster; same for "medium" and "big" monsters.
    # - **Balanced**: All monsters in the level are randomized. The ratio of "small", "medium", and "big" monsters in the level will be preserved.
    # - **Chaotic**: All monsters in the level are completely randomized. This can make levels *significantly* harder!
    'off': 50
    shuffle: 0
    same_type: 0
    balanced: 0
    chaotic: 0

  random_pickups:
    # Choose how pickups (medkits, ammo, etc.) are randomized.
    # 
    # - **Off**: Pickups are left unchanged.
    # - **Shuffle**: Pickups in the level are shuffled around.
    # - **Same Type**: Each "small" pickup in the level is replaced with a different "small" pickup; same for "medium" and "big" pickups.
    # - **Balanced**: All pickups in the level are randomized. The ratio of "small", "medium", and "big" pickups in the level will be preserved.
    # - **Chaotic**: All pickups in the level are completely randomized.
    'off': 50
    shuffle: 0
    same_type: 0
    balanced: 0
    chaotic: 0

  random_music:
    # Choose how music will be randomized.
    # 
    # - **Off**: The music tracks will be left unchanged.
    # - **Shuffle Selected**: All music tracks within the episodes you have selected will be shuffled together.
    # - **Shuffle Game**: All music in the entire game will be shuffled together.
    'off': 50
    shuffle_selected: 0
    shuffle_game: 0

  flip_levels:
    # Choose if levels should be randomly flipped (mirrored).
    # 
    # - **Off**: Levels won't be flipped.
    # - **On**: All levels will be flipped.
    # - **Random Mix**: Each level has a random chance of being flipped.
    'off': 50
    'on': 0
    random_mix: 0

  start_with_computer_area_maps:
    # If enabled, all Computer Area Maps will be given to the player from the start.
    'false': 50
    'true': 0

  partial_invisibility_as_trap:
    # If enabled, Partial invisibility will be classified as a trap, rather than just filler.
    # This does not change how the item behaves, only how Archipelago sees it.
    'false': 50
    'true': 0

  split_backpack:
    # Split the Backpack into four individual items, each one increasing ammo capacity for one type of weapon only.
    'false': 50
    'true': 0

  backpack_count:
    # How many Backpacks will be available.
    # If Split Backpack is set, this will be the number of each capacity upgrade available.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  #################
  # Ammo Capacity #
  #################
  max_ammo_bullets:
    # Set the starting capacity for Bullets.
    # 
    # Setting this below the default of 200 is allowed, but may be logically unsafe.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 20
    # Maximum value is 999
    200: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-20-999: 0 # random value between 20 and 999

  max_ammo_shells:
    # Set the starting capacity for Shells.
    # 
    # Setting this below the default of 50 is allowed, but may be logically unsafe.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 999
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-999: 0 # random value between 5 and 999

  max_ammo_energy_cells:
    # Set the starting capacity for Energy Cells.
    # 
    # Setting this below the default of 300 is allowed, but may be logically unsafe.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 30
    # Maximum value is 999
    300: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-30-999: 0 # random value between 30 and 999

  max_ammo_rockets:
    # Set the starting capacity for Rockets.
    # 
    # Setting this below the default of 50 is allowed, but may be logically unsafe.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 999
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-999: 0 # random value between 5 and 999

  added_ammo_bullets:
    # Set how much capacity for Bullets will be added when a capacity upgrade is obtained.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 20
    # Maximum value is 999
    200: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-20-999: 0 # random value between 20 and 999

  added_ammo_shells:
    # Set how much capacity for Shells will be added when a capacity upgrade is obtained.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 999
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-999: 0 # random value between 5 and 999

  added_ammo_energy_cells:
    # Set how much capacity for Energy Cells will be added when a capacity upgrade is obtained.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 30
    # Maximum value is 999
    300: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-30-999: 0 # random value between 30 and 999

  added_ammo_rockets:
    # Set how much capacity for Rockets will be added when a capacity upgrade is obtained.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 999
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-999: 0 # random value between 5 and 999

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: {Bomb: 1, Arrow: 3}
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: {Bomb: 1, Arrow: 3}
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
